<!--$Id: toc.html,v 10.301 2008/05/05 05:22:43 alexg Exp $-->
<html>
<head>
<title>Berkeley DB Reference Guide (Version: 4.7.25)</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>

<center>
<h2><b>Berkeley DB Reference Guide, Version 4.7.25</b></h2>
</center>

<ol>
<font size="+1"><li><a name="intro">Introduction</a></font>
    <ol>
    <li><a href="intro/data.html">An introduction to data management</a>
    <li><a href="intro/terrain.html">Mapping the terrain: theory and practice</a>
    <li><a href="intro/dbis.html">What is Berkeley DB?</a>
    <li><a href="intro/dbisnot.html">What Berkeley DB is not</a>
    <li><a href="intro/need.html">Do you need Berkeley DB?</a>
    <li><a href="intro/what.html">What other services does Berkeley DB provide?</a>
    <li><a href="intro/distrib.html">What does the Berkeley DB distribution include?</a>
    <li><a href="intro/where.html">Where does Berkeley DB run?</a>
    <li><a href="intro/products.html">The Berkeley DB products</a>
    </ol>
<font size="+1"><li><a name="am_conf">Access Method Configuration</a></font>
    <ol>
    <li><a href="am_conf/intro.html">What are the available access methods?</a>
    <li><a href="am_conf/select.html">Selecting an access method</a>
    <li><a href="am_conf/logrec.html">Logical record numbers</a>
    <li>General access method configuration
	<ol>
	<li><a href="am_conf/pagesize.html">Selecting a page size</a>
	<li><a href="am_conf/cachesize.html">Selecting a cache size</a>
	<li><a href="am_conf/byteorder.html">Selecting a byte order</a>
	<li><a href="am_conf/dup.html">Duplicate data items</a>
	<li><a href="am_conf/malloc.html">Non-local memory allocation</a>
	</ol>
    <li>Btree access method specific configuration
	<ol>
	<li><a href="am_conf/bt_compare.html">Btree comparison</a>
	<li><a href="am_conf/bt_prefix.html">Btree prefix comparison</a>
	<li><a href="am_conf/bt_minkey.html">Minimum keys per page</a>
	<li><a href="am_conf/bt_recnum.html">
	    Retrieving Btree records by logical record number</a>
	</ol>
    <li>Hash access method specific configuration
	<ol>
	<li><a href="am_conf/h_ffactor.html">Page fill factor</a>
	<li><a href="am_conf/h_hash.html">Specifying a database hash</a>
	<li><a href="am_conf/h_nelem.html">Hash table size</a>
	</ol>
    <li>Queue and Recno access method specific configuration
	<ol>
	<li><a href="am_conf/recno.html">Managing record-based databases</a>
	<li><a href="am_conf/extentsize.html">Selecting a Queue extent size</a>
	<li><a href="am_conf/re_source.html">Flat-text backing files</a>
	<li><a href="am_conf/renumber.html">Logically renumbering records</a>
	</ol>
    </ol>
<font size="+1"><li><a name="am">Access Method Operations</a></font>
    <ol>
    <li><a href="am/ops.html">Access method operations</a>
    <li><a href="am/open.html">Database open</a>
    <li><a href="am/opensub.html">Opening multiple databases in a single file</a>
    <li><a href="am/get.html">Retrieving records</a>
    <li><a href="am/put.html">Storing records</a>
    <li><a href="am/delete.html">Deleting records</a>
    <li><a href="am/stat.html">Database statistics</a>
    <li><a href="am/truncate.html">Database truncation</a>
    <li><a href="am/upgrade.html">Database upgrade</a>
    <li><a href="am/verify.html">Database verification and salvage</a>
    <li><a href="am/sync.html">Flushing the database cache</a>
    <li><a href="am/close.html">Database close</a>
    <li><a href="am/second.html">Secondary indices</a>
    <li><a href="am/cursor.html">Cursor operations</a>
	<ol>
	<li><a href="am/curget.html">Retrieving records with a cursor</a>
	<li><a href="am/curput.html">Storing records with a cursor</a>
	<li><a href="am/curdel.html">Deleting records with a cursor</a>
	<li><a href="am/curdup.html">Duplicating a cursor</a>
	<li><a href="am/join.html">Equality join</a>
	<li><a href="am/count.html">Data item count</a>
	<li><a href="am/curclose.html">Cursor close</a>
	</ol>
    </ol>
<font size="+1"><li><a name="am_misc">Access Method Wrapup</a></font>
    <ol>
    <li><a href="am_misc/align.html">Data alignment</a>
    <li><a href="am_misc/get_bulk.html">Retrieving records in bulk</a>
    <li><a href="am_misc/partial.html">Partial record storage and retrieval</a>
    <li><a href="am_misc/struct.html">Storing C/C++ structures/objects</a>
    <li><a href="am_misc/perm.html">Retrieved key/data permanence for C/C++</a>
    <li><a href="am_misc/error.html">Error support</a>
    <li><a href="am_misc/stability.html">Cursor stability</a>
    <li><a href="am_misc/dbsizes.html">Database limits</a>
    <li><a href="am_misc/diskspace.html">Disk space requirements</a>
    <li><a href="am_misc/tune.html">Access method tuning</a>
    <li><a href="am_misc/faq.html">Access method FAQ</a>
    </ol>
<font size="+1"><li><a name="java">Java API</a></font>
    <ol>
    <li><a href="java/conf.html">Java configuration</a>
    <li><a href="java/compat.html">Compatibility</a>
    <li><a href="java/program.html">Java programming notes</a>
    <li><a href="java/faq.html">Java FAQ</a>
    </ol>
<font size="+1"><li><a name="arch">Berkeley DB Architecture</a></font>
    <ol>
    <li><a href="arch/bigpic.html">The big picture</a>
    <li><a href="arch/progmodel.html">Programming model</a>
    <li><a href="arch/apis.html">Programmatic APIs</a>
    <li><a href="arch/script.html">Scripting languages</a>
    <li><a href="arch/utilities.html">Supporting utilities</a>
    </ol>
<font size="+1"><li><a name="env">The Berkeley DB Environment</a></font>
    <ol>
    <li><a href="env/intro.html">Database environment introduction</a>
    <li><a href="env/create.html">Creating a database environment</a>
    <li><a href="env/open.html">Opening databases within the environment</a>
    <li><a href="env/error.html">Error support</a>
    <li><a href="env/db_config.html">DB_CONFIG configuration file</a>
    <li><a href="env/naming.html">File naming</a>
    <li><a href="env/region.html">Shared memory regions</a>
    <li><a href="env/security.html">Security</a>
    <li><a href="env/encrypt.html">Encryption</a>
    <li><a href="env/remote.html">Remote filesystems</a>
    <li><a href="env/faq.html">Environment FAQ</a>
    </ol>
<font size="+1"><li><a name="cam">Berkeley DB Concurrent Data Store Applications</a></font>
    <ol>
    <li><a href="cam/intro.html">Concurrent Data Store introduction</a>
    <li><a href="cam/fail.html">Handling failure in Data Store and Concurrent Data Store applications</a>
    <li><a href="cam/app.html">Architecting Data Store and Concurrent Data Store applications</a>
    </ol>
<font size="+1"><li><a name="transapp">Berkeley DB Transactional Data Store Applications</a></font>
    <ol>
    <li><a href="transapp/intro.html">Transactional Data Store introduction</a>
    <li><a href="transapp/why.html">Why transactions?</a>
    <li><a href="transapp/term.html">Terminology</a>
    <li><a href="transapp/fail.html">Handling failure in Transactional Data Store applications</a>
    <li><a href="transapp/app.html">Architecting Transactional Data Store applications</a>
    <li><a href="transapp/env_open.html">Opening the environment</a>
    <li><a href="transapp/data_open.html">Opening the databases</a>
    <li><a href="transapp/put.html">Recoverability and deadlock handling</a>
    <li><a href="transapp/atomicity.html">Atomicity</a>
    <li><a href="transapp/inc.html">Isolation</a>
    <li><a href="transapp/read.html">Degrees of isolation</a>
    <li><a href="transapp/cursor.html">Transactional cursors</a>
    <li><a href="transapp/nested.html">Nested transactions</a>
    <li><a href="transapp/admin.html">Environment infrastructure</a>
    <li><a href="transapp/deadlock.html">Deadlock detection</a>
    <li><a href="transapp/checkpoint.html">Checkpoints</a>
    <li><a href="transapp/archival.html">Database and log file archival</a>
    <li><a href="transapp/logfile.html">Log file removal</a>
    <li><a href="transapp/recovery.html">Recovery procedures</a>
    <li><a href="transapp/hotfail.html">Hot failover</a>
    <li><a href="transapp/filesys.html">Recovery and filesystem operations</a>
    <li><a href="transapp/reclimit.html">Berkeley DB recoverability</a>
    <li><a href="transapp/tune.html">Transaction tuning</a>
    <li><a href="transapp/throughput.html">Transaction throughput</a>
    <li><a href="transapp/faq.html">Transaction FAQ</a>
    </ol>
<font size="+1"><li><a name="rep">Berkeley DB Replication</a></font>
    <ol>
    <li><a href="rep/intro.html">Replication introduction</a>
    <li><a href="rep/id.html">Replication environment IDs</a>
    <li><a href="rep/pri.html">Replication environment priorities</a>
    <li><a href="rep/app.html">Building replicated applications</a>
    <li><a href="rep/mgr_meth.html">Replication Manager methods</a>
    <li><a href="rep/base_meth.html">Base replication API</a>
    <li><a href="rep/comm.html">Building the communications infrastructure</a>
    <li><a href="rep/newsite.html">Connecting to a new site</a>
    <li><a href="rep/elect.html">Elections</a>
    <li><a href="rep/mastersync.html">Synchronizing with a master</a>
    <li><a href="rep/init.html">Initializing a new site</a>
    <li><a href="rep/bulk.html">Bulk transfer</a>
    <li><a href="rep/trans.html">Transactional guarantees</a>
    <li><a href="rep/lease.html">Master leases</a>
    <li><a href="rep/clock_skew.html">Clock skew</a>
    <li><a href="rep/partition.html">Network partitions</a>
    <li><a href="rep/faq.html">Replication FAQ</a>
    <li><a href="rep/ex.html">Ex_rep: a replication example</a>
    <li><a href="rep/ex_comm.html">Ex_rep_base: a TCP/IP based communication infrastructure</a>
    <li><a href="rep/ex_rq.html">Ex_rep_base: putting it all together</a>
    </ol>
<font size="+1"><li><a name="xa">Distributed Transactions</a></font>
    <ol>
    <li><a href="xa/intro.html">Introduction to distributed transactions</a>
    <li><a href="xa/build.html">Building a Global Transaction Manager</a>
    <li><a href="xa/xa_intro.html">XA Introduction</a>
    <li><a href="xa/xa_config.html">Configuring Berkeley DB with the Tuxedo System</a>
    <li><a href="xa/faq.html">XA: Frequently Asked Questions</a>
    </ol>
<font size="+1"><li><a name="apprec">Application Specific Logging and Recovery</a></font>
    <ol>
    <li><a href="apprec/intro.html">Introduction to application specific logging and recovery</a>
    <li><a href="apprec/def.html">Defining application-specific log records</a>
    <li><a href="apprec/auto.html">Automatically generated functions</a>
    <li><a href="apprec/config.html">Application configuration</a>
    </ol>
<font size="+1"><li><a name="program">Programmer Notes</a></font>
    <ol>
    <li><a href="program/appsignals.html">Signal handling</a>
    <li><a href="program/errorret.html">Error returns to applications</a>
    <li><a href="program/environ.html">Environmental variables</a>
    <li><a href="program/mt.html">Multithreaded applications</a>
    <li><a href="program/scope.html">Berkeley DB handles</a>
    <li><a href="program/namespace.html">Name spaces</a>
    <li><a href="program/ram.html">Memory-only or Flash configurations</a>
    <li><a href="program/cache.html">Disk drive caches</a>
    <li><a href="program/copy.html">Copying or moving databases</a>
    <li><a href="program/compatible.html">Compatibility with historic UNIX interfaces</a>
    <li><a href="program/runtime.html">Run-time configuration</a>
    <li><a href="program/faq.html">Programmer notes FAQ</a>
    </ol>
<font size="+1"><li><a name="lock">The Locking Subsystem</a></font>
    <ol>
    <li><a href="lock/intro.html">Introduction to the locking subsystem</a>
    <li><a href="lock/config.html">Configuring locking</a>
    <li><a href="lock/max.html">Configuring locking: sizing the system</a>
    <li><a href="lock/stdmode.html">Standard lock modes</a>
    <li><a href="lock/dead.html">Deadlock detection</a>
    <li><a href="lock/timeout.html">Deadlock detection using timers</a>
    <li><a href="lock/deaddbg.html">Deadlock debugging</a>
    <li><a href="lock/page.html">Locking granularity</a>
    <li><a href="lock/notxn.html">Locking without transactions</a>
    <li><a href="lock/twopl.html">Locking with transactions: two-phase locking</a>
    <li><a href="lock/cam_conv.html">Berkeley DB Concurrent Data Store locking conventions</a>
    <li><a href="lock/am_conv.html">Berkeley DB Transactional Data Store locking conventions</a>
    <li><a href="lock/nondb.html">Locking and non-Berkeley DB applications</a>
    </ol>
<font size="+1"><li><a name="log">The Logging Subsystem</a></font>
    <ol>
    <li><a href="log/intro.html">Introduction to the logging subsystem</a>
    <li><a href="log/config.html">Configuring logging</a>
    <li><a href="log/limits.html">Log file limits</a>
    </ol>
<font size="+1"><li><a name="mp">The Memory Pool Subsystem</a></font>
    <ol>
    <li><a href="mp/intro.html">Introduction to the memory pool subsystem</a>
    <li><a href="mp/config.html">Configuring the memory pool</a>
    </ol>
<font size="+1"><li><a name="txn">The Transaction Subsystem</a></font>
    <ol>
    <li><a href="txn/intro.html">Introduction to the transaction subsystem</a>
    <li><a href="txn/config.html">Configuring transactions</a>
    <li><a href="txn/limits.html">Transaction limits</a>
    </ol>
<font size="+1"><li><a name="sequence">Sequences</a></font>
    <ol>
    <li><a href="sequence/intro.html">Introduction to sequences</a>
    </ol>
<font size="+1"><li><a name="rpc">RPC Client/Server</a></font>
    <ol>
    <li><a href="rpc/intro.html">Introduction to the RPC client/server</a>
    <li><a href="rpc/client.html">Client program</a>
    <li><a href="rpc/server.html">Server program</a>
    <li><a href="rpc/faq.html">RPC FAQ</a>
    </ol>
<font size="+1"><li><a name="tcl">Berkeley DB Extensions: Tcl</a></font>
    <ol>
    <li><a href="tcl/intro.html">Loading Berkeley DB with Tcl</a>
    <li><a href="tcl/using.html">Using Berkeley DB with Tcl</a>
    <li><a href="tcl/program.html">Tcl API programming notes</a>
    <li><a href="tcl/error.html">Tcl error handling</a>
    <li><a href="tcl/faq.html">Tcl FAQ</a>
    </ol>
<font size="+1"><li><a name="ext">Berkeley DB Extensions</a></font>
    <ol>
    <li><a href="ext/mod.html">Using Berkeley DB with Apache</a>
    <li><a href="ext/perl.html">Using Berkeley DB with Perl</a>
    <li><a href="ext/php.html">Using Berkeley DB with PHP</a>
    </ol>
<font size="+1"><li><a name="dumpload">Dumping and Reloading Databases</a></font>
    <ol>
    <li><a href="dumpload/utility.html">The db_dump and db_load utilities</a>
    <li><a href="dumpload/format.html">Dump output formats</a>
    <li><a href="dumpload/text.html">Loading text into databases</a>
    </ol>
<font size="+1"><li><a name="install">System Installation Notes</a></font>
    <ol>
    <li><a href="install/file.html">File utility /etc/magic information</a>
    <li><a href="install/multiple.html">Building with multiple versions of Berkeley DB</a>
    </ol>
<font size="+1"><li><a name="debug">Debugging Applications</a></font>
    <ol>
    <li><a href="debug/intro.html">Introduction to debugging</a>
    <li><a href="debug/compile.html">Compile-time configuration</a>
    <li><a href="debug/runtime.html">Run-time error information</a>
    <li><a href="debug/printlog.html">Reviewing Berkeley DB log files</a>
    </ol>
<font size="+1"><li><a name="build_brew">Building Berkeley DB for BREW</a></font>
    <ol>
    <li><a href="build_brew/intro.html">Building for BREW</a>
    </ol>
<font size="+1"><li><a name="build_brew">Building Berkeley DB for S60</a></font>
    <ol>
    <li><a href="build_s60/intro.html">Building for S60</a>
    <li><a href="build_s60/notes.html">S60 notes</a>
    </ol>
<font size="+1"><li><a name="build_unix">Building Berkeley DB for UNIX/POSIX</a></font>
    <ol>
    <li><a href="build_unix/intro.html">Building for UNIX/POSIX</a>
    <li><a href="build_unix/conf.html">Configuring Berkeley DB</a>
    <li><a href="build_unix/small.html">Building a small memory footprint library</a>
    <li><a href="build_unix/flags.html">Changing compile or load options</a>
    <li><a href="build_unix/install.html">Installing Berkeley DB</a>
    <li><a href="build_unix/shlib.html">Dynamic shared libraries</a>
    <li><a href="build_unix/test.html">Running the test suite under UNIX</a>
    <li><a href="build_unix/notes.html">Architecture independent FAQ</a>
    <li>Architecture specific FAQs:<br>
	<a href="build_unix/aix.html">AIX</a>,
	<a href="build_unix/freebsd.html">FreeBSD</a>,
	<a href="build_unix/hpux.html">HP-UX</a>,
	<a href="build_unix/irix.html">IRIX</a>,
	<a href="build_unix/linux.html">Linux</a>,
	<a href="build_unix/macosx.html">Mac OS X</a>,
	<a href="build_unix/osf1.html">OSF/1</a>,
	<a href="build_unix/qnx.html">QNX</a>,
	<a href="build_unix/sco.html">SCO</a>,
	<a href="build_unix/solaris.html">Solaris</a>,
	<a href="build_unix/sunos.html">SunOS</a>,
	<a href="build_unix/ultrix.html">Ultrix</a>
    </ol>
<font size="+1"><li><a name="build_win">Building Berkeley DB for Windows</a></font>
    <ol>
    <li><a href="build_win/intro.html">Building for Windows</a>
    <li><a href="build_win/small.html">Building a small memory footprint library</a>
    <li><a href="build_win/test.html">Running the test suite under Windows</a>
    <li><a href="build_win/notes.html">Windows notes</a>
    <li><a href="build_win/faq.html">Windows FAQ</a>
    </ol>
<font size="+1"><li><a name="build_wince">Building Berkeley DB for Windows CE</a></font>
    <ol>
    <li><a href="build_wince/intro.html">Building for Windows CE</a>
    <li><a href="build_wince/notes.html">Windows CE notes</a>
    </ol>
<font size="+1"><li><a name="build_vxworks">Building Berkeley DB for VxWorks</a></font>
    <ol>
    <li><a href="build_vxworks/intro.html">Building for VxWorks 5.4 and 5.5</a>
    <li><a href="build_vxworks/intro6x.html">Building for VxWorks6.x</a>
    <li><a href="build_vxworks/notes.html">VxWorks notes</a>
    <li><a href="build_vxworks/faq.html">VxWorks FAQ</a>
    </ol>
<font size="+1"><li><a name="upgrade">Upgrading Berkeley DB Applications</a></font>
    <ol>
    <li><a href="upgrade/version.html">Library version information</a>
    <li><a href="upgrade/process.html">Upgrading Berkeley DB installations</a>
    <li><a href="changelog/toc.html">Berkeley DB Release Change Logs</a>
    <li><a href="upgrade.2.0/toc.html">
	    Upgrading Berkeley DB 1.85 and 1.86 applications to Berkeley DB 2.0</a>
    <li><a href="upgrade.3.0/toc.html">
	    Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0</a>
    <li><a href="upgrade.3.1/toc.html">
	    Upgrading Berkeley DB 3.0 applications to Berkeley DB 3.1</a>
    <li><a href="upgrade.3.2/toc.html">
	    Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2</a>
    <li><a href="upgrade.3.3/toc.html">
	    Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3</a>
    <li><a href="upgrade.4.0/toc.html">
	    Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0</a>
    <li><a href="upgrade.4.1/toc.html">
	    Upgrading Berkeley DB 4.0 applications to Berkeley DB 4.1</a>
    <li><a href="upgrade.4.2/toc.html">
	    Upgrading Berkeley DB 4.1 applications to Berkeley DB 4.2</a>
    <li><a href="upgrade.4.3/toc.html">
	    Upgrading Berkeley DB 4.2 applications to Berkeley DB 4.3</a>
    <li><a href="upgrade.4.4/toc.html">
	    Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4</a>
    <li><a href="upgrade.4.5/toc.html">
	    Upgrading Berkeley DB 4.4 applications to Berkeley DB 4.5</a>
    <li><a href="upgrade.4.6/toc.html">
	    Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6</a>
    <li><a href="upgrade.4.7/toc.html">
	    Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7</a>
    </ol>
<font size="+1"><li><a name="test">Test Suite</a></font>
    <ol>
    <li><a href="test/run.html">Running the test suite</a>
    <li><a href="test/faq.html">Test suite FAQ</a>
    </ol>
<font size="+1"><li><a name="distrib">Distribution</a></font>
    <ol>
    <li><a href="distrib/port.html">Porting Berkeley DB to new architectures</a>
    <li><a href="distrib/layout.html">Source code layout</a>
    </ol>
<font size="+1"><li><a name="refs">Additional References</a></font>
    <ol>
    <li><a href="refs/refs.html">Additional references</a>
    </ol>
</ol>

</body>
</html>
